#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class ScribbleArea;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;

protected:

    void closeEvent(QCloseEvent *event) override;

private slots:

    void open();
    void save();
    void penColor();
    void penWidth();
    void about();

    void showMousePos();
    void showMousePos(QPoint pos);

private:

    void createActions();
    void createMenus();

    bool maybeSave();

    // open the save dialog and saves
    bool saveFile(const QByteArray &fileFormat);

private:

    ScribbleArea* scribbleArea;

    QMenu* saveAsMenu;
    QMenu* fileMenu;
    QMenu* optionMenu;
    QMenu* helpMenu;

    QAction* openAct;

    QList<QAction*> saveAsActs;
    QAction* exitAct;
    QAction* penColorAct;
    QAction* penWidthAct;
    QAction* printAct;
    QAction* clearScreenAct;
    QAction* aboutAct;
    QAction* aboutQtAct;
};



#endif // MAINWINDOW_H
